<?php
class DenunciaservicioController extends AppController{
    
    public $helpers=array('Html','Form');
    public $uses = array('Servicio', 'Mascota', 'Propietario','Camada','Raza','Tipospelo','Informecomcria');
    public $components = array('Fechasconvert', 'Session');
    public $layout= 'default';

    
    public function index(){
        $denuncias = $this->Servicio->find('all',array('recursive'=>2));
        //debug($denuncias);exit;
        $this->set(compact('denuncias'));
    }
    function insertarservicio(){
      if(!empty($this->data)){
         //debug($this->data);exit;
         if($this->Servicio->save($this->data)){
            $this->Session->setFlash("Denuncia de servicio ".$this->Servicio->id." guardado exitosamente!");
            $this->redirect(array('action'=>'index'));
        }else{
            $this->Session->setFlash("Error al guardar!");
            $this->redirect(array('action'=>'index'));
        }
      }else{
         $mascotas = $this->Mascota->find('list', array('fields'=>array('Mascota.id', 'Mascota.nombre')));
         $propietarios = $this->Propietario->find('list', array('fields'=>array('Propietario.id', 'Propietario.nombre')));
         $this->set(compact('mascotas', 'propietarios'));
      }
    }
   
    public function insertar(){
       if(!empty($this->data)){
            
            
            /*convercion para guardar fechas*/
            $fecha_macho = $this->data['Mascota2']['fecha_nac'];
            $fecha_hembra = $this->data['Mascota1']['fecha_nac'];
            $fecha_servicio = $this->data['Servicio']['fecha_servicio'];
            $fecha_denuncia = $this->data['Servicio']['fecha_denuncia'];

            $fecha1 = $this->Fechasconvert->doFormatfecha($fecha_macho);
            
            $fecha2 = $this->Fechasconvert->doFormatfecha($fecha_hembra);
            $fecha3 = $this->Fechasconvert->doFormatfecha($fecha_servicio);
            $fecha4 = $this->Fechasconvert->doFormatfecha($fecha_denuncia);
            
            $this->request->data['Mascota2']['fecha_nac'] = $fecha1;
            $this->request->data['Mascota1']['fecha_nac'] = $fecha2;
            $this->request->data['Servicio']['fecha_servicio'] = $fecha3;
            $this->request->data['Servicio']['fechadenuncia'] = $fecha4; 
            
            /*datos propietarios*/
            
            $propietario1 = $this->data['Propietario1'];
           
            $propietario2 = $this->data['Propietario2'];
            
            $macho = $this->data['Mascota2'];
            $hembra = $this->data['Mascota1'];
            
            $this->Servicio->create();
            
            if($propietario1['nombre'] == $propietario2['nombre']){
                
                $this->Propietario->save($propietario2);
                //echo "iguales";exit;
            }else{
                $this->Propietario->save($propietario1);
                $this->Propietario->save($propietario2);
            }
            
            /* end of datos propietarios*/
            $this->Servicio->create();
            
            if($this->Servicio->save($this->data)){
                $this->Session->setFlash("Se Guardo correctamente!!!");
                $this->redirect(array('action'=>'index'));
            }else{
                $this->Session->setFlash("No se pudo guardar!!!");
                $this->redirect(array('action'=>'index'));
            }
        }
        
        $mascotas = $this->Mascota->find('list', array('fields'=>array('Mascota.id', 'Mascota.nombre')));
        $propietarios = $this->Propietario->find('list', array('fields'=>array('Propietario.id', 'Propietario.nombre')));
        $this->set(compact('mascotas', 'propietarios'));
    }
    public function editar($id = null){
        $this->Servicio->id = $id;
        if(!empty($datos)){
            $this->Servicio->read();
            if($this->Servicio->save($this->data)){
                $this->Session->setFlash("Se edito correctamente!!!");
                $this->redirect("index", true);
            }else{
                $this->Session->setFlash("No se pudo editar!!!");
                $this->redirect("index", true);
            }
        }
       
       $mascotas = $this->Mascota->find('list', array('fields'=>array('Mascota.id', 'Mascota.nombre_ejemplar')));
       $propietarios = $this->Propietario->find('list', array('fields'=>array('Propietario.id', 'Propietario.nombre')));
       $this->set(compact('mascotas', 'propietarios'));
    }
    public function ver($id = null){
        $datos = $this->Servicio->find('first', array(
        'conditions'=>array('Servicio.id'=>$id),
        'recursive'=>2
        ));
        $this->set(compact('datos'));
    }
    public function eliminar($id = null){
        if (!$id) {
            $this->Session->setFlash('id Invalida para borrar');
            $this->redirect(array('action' => 'index'));
        }
        if ($this->Servicio->delete($id)) {
           $this->Session->setFlash('El Servicio con registro  ' . $id . ' fue borrado');
           $this->redirect(array('action' => 'index'));
        }

    }
    public function imprimir($id = null){
        $this->layout = 'print';
        $denuncia = $this->Servicio->findById($id);
        //debug($denuncias);exit;
        $this->set(compact('denuncia'));
    }
      public function registrarcamada($id_servicio = null , $id_nacimiento =null){
        if(!empty($this->data)){
            //debug($this->data);
            $nacimiento = $this->Servicio->find('first', array(
            'conditions'=>array('Servicio.id'=>$id_servicio),
            'recursive'=>0)
            );
           //debug($this->data);exit;
            $madre = $nacimiento['Servicio']['reproductora_id'];
            $padre = $nacimiento['Servicio']['reproductor_id'];
            $raza = $this->data['Camada']['raza_id'];
            $fecha_nacimiento = $nacimiento['Servicio']['fecha_denuncia'];
            $mascotas = $this->data['Mascota'];
            $i=0;
            foreach($mascotas as $mascota){
                $this->request->data['Mascota'][$i]['raza_id'] = $raza;
                $this->request->data['Mascota'][$i]['reproductora_id'] = $madre;
                $this->request->data['Mascota'][$i]['reproductor_id'] = $padre;   
                $this->request->data['Mascota'][$i]['fecha_nacimiento'] = $fecha_nacimiento; 
                $i++;              
            }
            $this->request->data['Camada']['numregistropadre'] = $padre;
            $this->request->data['Camada']['numregistromadre'] = $madre;
            $this->request->data['Camada']['criadero_id'] = $nacimiento['Denuncianacimiento']['criadero_id'];
             $this->request->data['Camada']['fecha_nacimiento'] = $fecha_nacimiento;
            //debug($this->data);exit;
            if($this->Camada->saveAll($this->data)){
                $this->Session->setFlash("Registro de cachorros exitoso");
                $this->redirect(array('action'=>'index'));
                
            }else{
                $this->Session->setFlash("Error en el registro");
                $this->redirect(array('action'=>'index'));
            }
        }
        $razas = $this->Raza->find('list', array(
        'fields'=>array('Raza.id', 'Raza.nombre')
        ));
        $pelos = $this->Tipospelo->find('list', array(
        'fields'=>array('Tipospelo.id', 'Tipospelo.nombre')
        ));
        //debug($pelos);
        $sexo = array("0"=>'HEMBRA',"1"=>'MACHO');
      //debug($sexo);exit;
        $this->set(compact('razas', 'pelos', 'id_servicio', 'id_nacimiento','sexo'));
    }
    public function informecomision($id = null){
        if(!empty($this->data)){
            
            $this->Informecomcria->create();
            //debug($this->data);exit;
            if($this->Informecomcria->saveAll($this->data)){
                $this->Session->setFlash("Registro de informe creado");
                $this->redirect(array('action'=>'index'));
                
            }else{
                $this->Session->setFlash("Error al registrar el informe de comision de cria");
                $this->redirect(array('action'=>'index'));
            }
        }
        $camada=$this->Camada->find('first',array('conditions'=>array('Camada.id'=>1),'recursive'=>2));
        $cachorros = $camada['Mascota'];
        $crias = array();
        foreach($cachorros as $cachorro){
            $crias[$cachorro['id']] = $cachorro['nombre'];
        }
        $this->set(compact('camada', 'cachorros'));
    }
    public function vercamada($id = null){
        $camada = $this->Camada->find('first', array(
        'conditions'=>array('Camada.id'=>$id), 
        'recursive'=>2
        ));
        //debug($camada);exit;
        $this->set(compact('camada'));
    }
}
?>